﻿using System.ComponentModel.DataAnnotations;
using Unijovem.Domain;

namespace Unijovem.UI.Models
{
    public class ArquivoModel : ModelBase<ArquivoModel, Arquivo>
    {
        public enum TipoArquivo
        {
            Evento = 0,
            Musica = 1,
            MaterialApoio = 2,
            FotoPessoa = 3,
            Destaque = 4,
            Aviso = 5,
            Autor = 6
        }

        public static string SelecionarCaminhoImagem(TipoArquivo tipo)
        {
            switch (tipo)
            {
                case TipoArquivo.Evento:
                    return "~/Content/Files/Evento";
                case TipoArquivo.Musica:
                    return "~/Content/Files/Musica";
                case TipoArquivo.FotoPessoa:
                    return "~/Content/Files/Pessoa";
                case TipoArquivo.MaterialApoio:
                    return "~/Content/Files/Evento/MaterialApoio";
                case TipoArquivo.Destaque:
                    return "~/Content/Files/Destaque";
                case TipoArquivo.Aviso:
                    return "~/Content/Files/Aviso";
                case TipoArquivo.Autor:
                    return "~/Content/Files/Autor";
            }

            return null;
        }


        [UIHint("Image")]
        public string Nome { get; set; }
        public int IdExterno { get; set; }
        public string Caminho { get; set; }

        private TipoArquivo tipo;
        public TipoArquivo Tipo
        {
            get { return tipo; }
            set
            {
                tipo = value;
                Caminho = SelecionarCaminhoImagem(tipo);
            }
        }
        public string Titulo { get; set; }
        public string Descricao { get; set; }
    }
}